function refreshRes(stats, res, config) {
	const cache = config.cache
	if (cache.expires) {
		res.setHeader('Expires', (new Date(Date.now() + cache.maxAge * 1000)).toUTCString())
	}
	if (cache.cacheControl) {
		res.setHeader('Cache-Control', `public,max-age=${cache.maxAge}`)

	}
	if (cache.lastModified) {
		res.setHeader('Last-Modified', stats.mtime.toUTCString())
	}
	if (cache.etag) {
		res.setHeader('ETag', `${stats.size}-${stats.mtime}`)
	}

}

module.exports = function (stats, req, res, config) {

	refreshRes(stats, res, config)

	const lastModified = req.headers['if-modified-since']
	const etag = req.headers['if-none-match']

	if (!lastModified && !etag) {
		return false
	}

	if (lastModified && lastModified !== res.getHeaders()['last-modified']) {
		return false
	}

	if (etag && etag !== res.getHeaders()['etag']) {
		return false
	}

	return true

}
